/**
 * 
 */
package remote;

import remote.connection.Client;

/**
 * @author Jonas Spitzenpfeil
 * 
 */
public interface RemoteListener {

	/**
	 * Wird aufgerufen, wenn sich ein Client mit dem Server verbunden hat.
	 * 
	 * @param client
	 *            Der Client der sich mit dem Server verbunden hat.
	 */
	void connected(Client client);

	/**
	 * Wird aufgerufen, wenn die Verbindung zu einem Client getrennt wurde.
	 * 
	 * @param client
	 *            Der Client von dem die Verbindung getrennt wurde.
	 * @param lost
	 *            Gibt an ob die Verbindung normal getrennt wurde, oder ob die
	 *            Verbindung verloren gegangen ist.
	 */
	void closed(Client client);

	/**
	 * Wird aufgerufen, wenn ein Text von einem Client gelesen wurde.
	 * 
	 * @param c
	 *            Der Client von dem die Zeile kam.
	 * @param line
	 *            Die Zeile die gelesen wurde.
	 */
	void received(Client c, String line);
}
